视频地址:http://www.jikexueyuan.com/course/1504.html
练习 DEMO:https://coding.net/u/eli01/p/REACT_NATIVE_PRACTICE/git/tree/master/RN_FOR_JK_HelloWorld
1 React Native介绍
Learn Once, Write Anywhere.
介绍:React Native
是facebook在2015 React开发者大会上公开的应用开发框架,一个可以用React
开发原生应用的框架。
意义:Web和Native的结合是未来,目前对于这种跨端开发方式而言,React Native应该是首选方案。
案例:
- Facebook Group
- 天猫ipad
- Chinese Flashcards
优点:为什么我们需要关心React Native?
- 真正意义的跨端应用开发
- 基于React的组件化开发模式
- 拥有web的发布能力和原生应用的性能
- 国内大型互联网公司已经开始投入大量资源到React Native中
- Web和Native结合的模式是未来
能力:
- 机遇原生UI组件
- 手势识别
- 基于FlexBox的css布局模式
- 跨平台开发(Android预计10月后才能支持)
- 基于React, jsx的组件化开发模式
- 可使用npm中的模块
- Chrome Dev Tool的集成
同类框架:
- Goole的sky
- Titanium
- NativeScript
- 鸟巢
- Bee Framework
1.1 React
说明:是一套前端JacaScript框架,由Facebook开源。
特点:JSX语法,组件化模式,Virtual DOM,单向数据流。
基本模式:每个React应用可视为组件的组合,而每个React组件由属性(property)和状态(state)来配置,当状态发生变化时更新UI,组件的结构是由虚拟的DOM来维护的,确保了实际更新的DOM只包括真正产生了状态变化的部分。1
2
3
4
5var Hello = React.createClass({
render:function(){
return <TextHello React Native</Text;
}
});
2 React Native环境搭建
环境依赖:OSX、Xcode、Node
- osx系统,目前还不支持
Android
系统 - Xcode,在 App Store 上下载最新版本的 Xcode,目前应该是 3.6.1
2.1 相关依赖
(1)Homebrew
http://brew.sh/
(2)watchman
https://www.watchmanmonitoring.com/1
$ brew install watchman # 检查文件变动的工具
(3)flow
https://github.com/facebook/flow1
$ brew install flow # jsx 语法检查工具
2.2 命令行工具
(1)react native cli1
2
3
4
5# 安装
$ npm i -g react-native-cli # reactive native 的命令行工具
# 项目初始化
$ react-native init RN_FOR_JK_HelloWorld # 项目取名为 RN_FOR_JK_HelloWorld
(2)使用 xcode 预览
虚拟机快捷键|说明
-|-
Cmd + R|重载 JS
Cmd + D|打开 开发菜单
1 | # 使用 xcode 打开 |
常见的问题
npm i -g react-native-cli 无法安装?
添加sudo
权限安装Xcode 点击 run 过后报 clang 语法错误
Xcode 版本更新到最新
3 Movie List示例程序
1 | RN_FOR_JK_HelloWorld |
1 | /** |